﻿using Microsoft.Extensions.Logging;
using System;

namespace Xejen.Logger
{
    /// <summary>
    /// 表示日志管理
    /// </summary>
    /// <creator>marc</creator>    
    public interface ILoggerManager
    {
        /// <summary>
        /// 根据类型创建日志对象<see cref="ILogger"/>
        /// </summary>
        /// <typeparam name="T">指定类型</typeparam>
        /// <returns></returns>
        ILogger<T> CreateLogger<T>();
        /// <summary>
        /// 根据类型创建日志对象<see cref="ILogger"/>
        /// </summary>
        /// <param name="type">指定类型</param>
        /// <returns></returns>
        ILogger CreateLogger(Type type);
        /// <summary>
        /// 根据<paramref name="categoryName"/>创建对象<see cref="ILogger"/>
        /// </summary>
        /// <param name="categoryName">日志消息的名称</param>
        /// <returns></returns>
        ILogger CreateLogger(string categoryName);
    }
}